from enum import Enum, unique

from flask import jsonify


def result(code, message, data=None):
    return jsonify(code=code, msg=message, data=data)


def result_ok(data=None, message='ok'):
    return jsonify(code=ErrorCode.OK.value, msg=message, data=data)


def result_no_data(message='未查询到数据'):
    return jsonify(code=ErrorCode.NO_DATA.value, msg=message)


@unique
class ErrorCode(Enum):
    """业务错误码
    尽量与 Http 状态码相呼应, 例如 HttpStatus 200, 与 业务错误码 2000 表示成功
    参考  https://www.runoob.com/http/http-status-codes.html
    """
    OK = 2000
    NO_DATA = 4040
